/**
 * Framework for batch testing user profile models
 * Final project by Sergey Nepomnyachiy and Julia Polchin
 * Supervisor: Tsvi Kuflik
 *
 */
package interfaces;

import java.util.Collection;

/**
 * Providing unified interface for generators.
 * 
 * @author Sergey&Julia
 * @param <T>
 *            Generic type of vector for a generator
 * 
 */
public interface GeneratorInterface<T> {
	/**
	 * Getter for the generated vector
	 * 
	 * @return Collection of generic type T created by a generator
	 */
	public Collection<T> getVector();

	/**
	 * Getter for generated scalar
	 * 
	 * @return Generated scalar of type T
	 */
	public T getScalar();

	/**
	 * Used to easily check if generator returned 1D or 2D structure
	 * 
	 * @return true if generator creates a matrix, false if it is a set or
	 *         vector
	 */
	boolean is2D();
}
